/*****************************************************************************
 * vtk_video_area.h : GTK+ Widget for VLC Gtkmm plugin
 *****************************************************************************/
 
#ifndef __VTK_VIDEO_AREA_H
#define __VTK_VIDEO_AREA_H

#include <gtk/gtk.h>

#include <gdk/gdkx.h>

G_BEGIN_DECLS

#define VTK_TYPE_VIDEO_AREA         (vtk_video_area_get_type ())
#define VTK_VIDEO_AREA(obj)         (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTK_TYPE_VIDEO_AREA, VtkVideoArea))
#define VTK_VIDEO_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTK_TYPE_VIDEO_AREA, VtkVideoAreaClass))
#define VTK_IS_VIDEO_AREA(obj)      (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTK_TYPE_VIDEO_AREA))

typedef struct _VtkVideoArea VtkVideoArea;
typedef struct _VtkVideoAreaClass VtkVideoAreaClass;

typedef struct _AreaPrefSize AreaPrefSize;

struct _VtkVideoArea
{
  GtkWidget widget;
  
  GdkPixbuf *logo;
};

struct _VtkVideoAreaClass
{
  GtkWidgetClass widget_class;
};

struct _AreaPrefSize
{
  gint width;
  gint height;
  gulong sig_id;
};

GType      vtk_video_area_get_type (void) G_GNUC_CONST;
GtkWidget* vtk_video_area_new      (GdkPixbuf *pixbuf);

XID        vtk_video_area_get_xid            (VtkVideoArea *area);
void       vtk_video_area_set_preferred_size (VtkVideoArea *area, gint width, gint height);
void       vtk_video_area_set_pixbuf         (VtkVideoArea *area, GdkPixbuf *pixbuf);
GdkPixbuf* vtk_video_area_get_pixbuf         (VtkVideoArea *area);

G_END_DECLS

#endif /* __VTK_VIDEO_AREA_H */

